package com.debao.system.domain;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.debao.common.annotation.Excel;
import com.debao.common.core.domain.BaseEntity;

/**
 * 商品对象 goods
 *
 * @author DeBao
 * @date 2024-06-19
 */
@Data
@Accessors(chain = true)
public class Goods {

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 商品名称
     */
    private String name;

    /**
     * 商品图片 多图 ,分隔
     */
    private String images;

    /**
     * 商品价格 分
     */
    private Long price;

    /**
     * 商品详情
     */
    private String desc;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createAt;

    /**
     * 商品状态 -1 下线 1 上线
     */
    private Integer status;

    /**
     * 已购买数量
     */
    private Long buy;

    /**
     * 商品类别
     */
    private String category;

    /** 是否删除 Y N */
    private String isDel;


    //仅读

    @JsonProperty(access = JsonProperty.Access.READ_ONLY)
    public List<String> getBanner() {
        if(images == null || images.isEmpty()){
            return new ArrayList<>();
        }
        return Arrays.asList(images.split(","));
    }

    public String getMainImage() {
        if (images == null || images.isEmpty()) {
            return "";
        }
        List<String> imagesArr = Arrays.asList(images.split(","));
        return imagesArr.get(0);
    }
    @JsonProperty(access = JsonProperty.Access.READ_ONLY)
    public Double getPriceForDisplay(){
        if (price == null) {
            return null;
        }
        return price / 100.0;
    }

}
